package de.fmaul.dicheck.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.UUID;

import de.fmaul.dicheck.assertions.Assertion;

public class TestCase implements Configurable {

    private final Properties properties;
    private final String name;
    private String testDefinition;
    private final List<Comment> comments = new ArrayList<Comment>();
    private final List<Assertion> assertions = new ArrayList<Assertion>();
    private final String id = UUID.randomUUID().toString();

    public TestCase(final String name, final Properties props) {
        this.name = name;
        this.properties = props;
    }

    public Properties getProperties() {
        return properties;
    }

    public List<Assertion> getAssertions() {
        return assertions;
    }

    public List<Comment> getComments() {
        return comments;
    }

    public String getName() {
        return name;
    }

    public String getTestDefinition() {
        return testDefinition;
    }

    public void setTestDefinition(final String testDefinition) {
        this.testDefinition = testDefinition;
    }

    public String getId() {
        return id;
    }

}
